package org.spring.utils;

/**
 * 资源加载工具类
 * <p>
 * 注：设计为抽象类，禁止进行实例化
 *
 * @author 李坤
 * @date 2022/4/16 10:24
 */
public abstract class ResourceUtil {

    /**
     * 从 jar 文件加载的 URL 前缀："jar:"。
     */
    public static final String JAR_URL_PREFIX = "jar:";

    /**
     * 从 Tomcat 上的 war 文件加载的 URL 前缀："war:"。
     */
    public static final String WAR_URL_PREFIX = "war:";

    /**
     * 从文件系统加载的 URL 前缀："file:"。
     */
    public static final String FILE_URL_PREFIX = "file:";

    /**
     * jar 文件中条目的 URL 协议："jar"。
     */
    public static final String URL_PROTOCOL_JAR = "jar";

    /**
     * 来自 war 文件的条目的 URL 协议："war"。
     */
    public static final String URL_PROTOCOL_WAR = "war";

    /**
     * 来自 zip 文件的条目的 URL 协议："zip"。
     */
    public static final String URL_PROTOCOL_ZIP = "zip";

    /**
     * Tomcat 上 WAR URL 和 jar 部分之间的特殊分隔符。
     */
    public static final String WAR_URL_SEPARATOR = "*/";

    /**
     * 文件系统中文件的 URL 协议："文件"。
     */
    public static final String URL_PROTOCOL_FILE = "file";

    /**
     * 常规 jar 文件的文件扩展名：".jar"。
     */
    public static final String JAR_FILE_EXTENSION = ".jar";

    /**
     * 从类路径加载的伪 URL 前缀："classpath:"。
     */
    public static final String CLASSPATH_URL_PREFIX = "classpath:";

}
